package com.wanjia.bpsapi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wanjia.bpsapi.pojo.dto.ParamName;
import com.wanjia.bpsapi.pojo.dto.ParamNeed;
import com.wanjia.bpsapi.pojo.entity.Param;

import java.util.List;

/**
 * <p>
 * 参数表 服务类
 * </p>
 *
 * @author wyn
 * @since 2023-02-13
 */
public interface IParamService extends IService<Param> {

    /**
     * 获取耗材名称
     *
     * @return 耗材名称实体列表
     */
    List<ParamName> getParamNames();

    /**
     * 分页获取成本项
     *
     * @param pageNo   分页页码
     * @param pageSize 分页尺寸
     * @param paramId  成本项id
     * @return 分页成本项数据
     */
    Page<Param> pageParams(Integer pageNo, Integer pageSize, Integer paramId);

    /**
     * 新增成本项
     *
     * @param param 新增成本项数据
     * @return 成本项
     */
    Param addParam(Param param);

    /**
     * 更新成本项
     *
     * @param param 更新成本项数据
     * @return 成本项
     */
    Param updateParam(Param param);


    List<ParamNeed> getList(Long[] paramId, Long vegeId);

    /**
     * 获取最新菜品勾选的成本项
     *
     * @param vegeId 菜品id
     * @param uid 用户id
     * @return 成本项id集合
     */
    List<Long> getLatestParamIds(Long vegeId, Long uid);
}
